package Demo09;
/*
一旦使用static修饰成员方法，那这就是静态方法。
静态方法不属于对象，而属于类。

如果没有static关键字，那么需要先创建对象。然后通过对象使用它。。
如果有了static关键字，那个不需要创建对象。直接就能通过类名称来使用他。

无论是成员变量，还是成员方法。如果有了static，都推荐使用类名称调用
静态变量：类名称.静态变量
静态方法：类名称.静态方法（）

注意；
1，静态不能直接访问非静态
原因；因为内存是内存当中是【先】有的静态内容，【后】有的非静态内容；
“先人（static）不知有后人，但是后人知道先人”
2，静态方法中不能用this.
原因；this代表当前对象，通过谁调用的,谁就是当前对象；
 */
public class Demo01StaticMethod {
    public static void main(String[] args) {
        MyClass obj=new MyClass();//首先创建对象
        //然后才能使用没有static关键字的内容
        obj.method(); //---这是一个成员方法；

        //对于静态方法来说，可通过对象名进行调用，也可以直接通过类名称调用
        obj.methodStatic();//正确，不推荐；通过对象名进行调用 ---这是一个静态方法；
        MyClass.methodStatic();//正确，推荐 类名称.静态方法名； ---这是一个静态方法；

        //对于本类中的静态方法，可省略类名称；
        //两个完全等效；（两种调用方式 ；）
        myMethod(); //自己的方法！----------
        Demo01StaticMethod.myMethod();//自己的方法！------
    }

    public  static  void myMethod(){
        System.out.println("自己的方法！");
    }
}
